package uk.co.agileworks.bidpirate.service;

import java.util.List;

import org.joda.time.DateTime;

import uk.co.agileworks.bidpirate.model.Bid;
import uk.co.agileworks.bidpirate.model.Status;
import uk.co.agileworks.bidpirate.model.User;

public interface DAO {

	int cleanOrphanedItems();

	int cleanTemporaryUsers();

	int cleanUnsavedBids();

	void deleteBid(Bid bid);

	void deleteUser(User user);

	Bid getBid(long id);

	List<Bid> getBids(User user);

	List<Bid> getBidsBefore(DateTime dateTime, Status status);

	User getUser(String username);

	void saveOrUpdateBid(Bid bid);

	void saveOrUpdateUser(User user);

}
